/***********************************************
 @Name :        小谭老师
 @Time :        2025-2-22
 @Email :       tan.zhipeng@outlook.com
 @Comment :     功能窗口 智能对话
 @FileName :    widget_funca_smart_chat.cpp
 @Version :     1.0
************************************************/

#include "widget_funca_smart_chat.h"
#include "ui_widget_funca_smart_chat.h"

Widget_funcA_Smart_chat::Widget_funcA_Smart_chat(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget_funcA_Smart_chat)
{
    ui->setupUi(this);
    
    // 设定按钮大小
    ui->Button_send->setFixedSize(80 , 30);
    

    // 设置背景透明
    ui->textEdit->setStyleSheet("background: transparent;");
    // 设置透明背景并去除边框
    ui->textEdit->setStyleSheet("background: transparent; border: none;");
    // 确保文本框能够正常输入
    ui->textEdit->setAttribute(Qt::WA_OpaquePaintEvent, false);
    // 设置字体
    ui->textEdit->setFont(QFont("楷体" , 13));
    
    
    // 设定消息对话框为垂直布局
    Message_layout = new QVBoxLayout(ui->widget_show);
    
    // 安装间隔器件
//    message_Spacer = new QSpacerItem( 1000 , 20, QSizePolicy::Maximum , QSizePolicy::Expanding);
//    Message_layout->addItem(message_Spacer);
//    qDebug() << Message_layout->count();
    // 连接发射信号和槽函数
    connect(ui->Button_send , &Button_Cust_Base::signals_click , this , &Widget_funcA_Smart_chat::Slota_Add_Send_Message);

}

Widget_funcA_Smart_chat::~Widget_funcA_Smart_chat()
{
    delete ui;
}

void Widget_funcA_Smart_chat::Slota_Add_Send_Message()
{
    if(!ui->textEdit->toPlainText().isEmpty())
    {
        // 创建一个发送对话框
        chat_message = new Widget_smart_chat_message(ui->widget_show);
        // 添加到对话框窗口   Widget_smart_chat_message
        Message_layout->addWidget(chat_message);      
        
        // 强制更新布局
        ui->widget_show->update();
        
        // 设定为发送模式
        chat_message->set_Send_Layout();
        
        // 显示边框
        chat_message->show();
        chat_message->move( 100 , 100);
        qDebug() << chat_message->rect();
        qDebug() << this->rect();
        
        

        // 获取文本
        chat_message->set_Edit_Text(ui->textEdit->toPlainText());
        // 清空输入框文本
        ui->textEdit->clear();
    }
    
    this->update();
}
